import geopandas as gpd
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
pd.set_option('display.max_columns', 500)
Lab 4: Fire Service Coverage Analysis - Maximal Covering Location Problem¶
For this lab we return to Fire Service Coverage seeking to assess tradeoffs in service against costs of maintaining different levels of stations.
Instead of covering all demand, the modeling approach tries to maximize the demand covered.
Specifically, we will employ the maximal covering location problem.
Instead of minimizing the number of facilities needed in a previous lab, we now introduce a parameter, $p$, representing a fixed number of facilities to keep in the system.
In Lab 4, there are three research questions we want to look into.
- Does a change in demand representation impact the optimization results?
- How can a service system be evaluated to prioritize demand maximization?
- Can the analysis process be generalized in order to replicate the approach using different demand representations?
The coverage standard for this lab will be fixed at 8000m.
S = 8000
Step 1. Prepare your dataset¶
Task: Load the three datasets and convert blocks and stations crs into the same one as FDs.crs.¶
- It is because FDs is in a crs using meter as linear unit.
# Note: it might take time, as FD is a huge file.
FDs = gpd.read_file("Data/California_Fire_Districts.shp")
blocks = gpd.read_file("Data/sbBlocks_pop.shp").to_crs(FDs.crs)
stations = gpd.read_file("Data/Fire_stations_SBC.shp").to_crs(FDs.crs)
Task: Look into the following Fire District maps.¶
There are many Fire Districts in California.
We are only going to focus in the "Santa Barbara County Fire District".
In the second map, note that there are many other Fire Districts in Santa Barbara County.
Though it's not shown on the map, they have some overlapping area, which means the area is co-operated by multiple Fire Districts.
FDs.plot("Name")
<Axes: >
FDs = FDs.loc[FDs.intersects(blocks.unary_union)].reset_index(drop=True)
FDs.plot("Name", legend=True, figsize=(10,10))
<Axes: >
Question 1: Sort out a Fire District out of FDs GeoDataFrame. The district must have its 'Name" column value, "SANTA BARBARA CFD". ( 1 pt )¶
FDs
| OBJECTID | County | FDID | MACSID | Name | Address | City | Zip | FireChief | Phone | Notes | LastUpdate | Website | CALFIREUni | SHAPE_Leng | SHAPE_Area | geometry | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 89 | KERN | 15010 | KRN | KERN CO FD | 5642 VICTOR ST | BAKERSFIELD | 93308 | AARON DUNCAN | (661) 391‐7000 | None | 2018-06-21 | https://kerncountyfire.org/ | KRN | 998841.649563 | 1.921083e+10 | MULTIPOLYGON (((207559.325 -315382.144, 207622... |
| 1 | 304 | SAN LUIS OBISPO | 40080 | SLC | SAN LUIS OBISPO CO FD | 635 N SANTA ROSA ST | SAN LUIS OBISPO | 93405 | JOHN OWENS | (805) 543‐4244 | None | 2018-06-21 | https://calfireslo.org/ | SLU | 940256.942591 | 8.344077e+09 | MULTIPOLYGON (((-58528.672 -319737.906, -58473... |
| 2 | 316 | SANTA BARBARA | 42005 | CRP | CARPINTERIA SUMMERLAND FPD | 1140 EUGENE PLACE, SUITE A | CARPINTERIA | 93013 | GREG FISH | (805) 684‐4591 | None | 2018-06-21 | https://www.carpfire.com/ | SBC | 49534.138992 | 1.010901e+08 | POLYGON ((50973.663 -398386.099, 50969.942 -39... |
| 3 | 317 | SANTA BARBARA | 42030 | MTO | MONTECITO FPD | 595 SAN YSIDRO RD | SANTA BARBARA | 93108 | KEVIN TAYLOR | (805) 969‐7762 | None | 2018-06-21 | https://www.montecitofire.com/ | SBC | 39911.074682 | 3.644463e+07 | POLYGON ((35557.315 -399389.055, 35295.841 -39... |
| 4 | 318 | SANTA BARBARA | 42035 | SBC | SANTA BARBARA CFD | 4410 CATHEDRAL OAKS RD | SANTA BARBARA | 93110 | MARK A. HARTWIG | (805) 681‐5500 | None | 2018-06-21 | https://www.sbcfire.com/ | SBC | 778360.396807 | 3.666998e+09 | MULTIPOLYGON (((23728.804 -401033.857, 23715.3... |
| 5 | 396 | VENTURA | 56020 | VNC | VENTURA COUNTY FPD | 165 DURLEY AVE | CAMARILLO | 93010 | DUSTIN GARDNER | (805) 389‐9710 | None | 2018-06-21 | https://vcfd.org/ | VNC | 840086.616548 | 4.239353e+09 | MULTIPOLYGON (((72888.961 -429800.719, 72849.7... |
| 6 | 647 | SANTA BARBARA | 42010 | GUA | GUADALUPE FD | 918 OBISPO ST | GUADALUPE | 93434 | MICHAEL CASH | (805) 356‐3905 | None | 2022-02-10 | https://ci.guadalupe.ca.us/fire/ | SBC | 14598.470583 | 3.446183e+06 | POLYGON ((-52159.523 -337901.424, -52142.953 -... |
| 7 | 662 | SANTA BARBARA | 42040 | SMR | SANTA MARIA FD | 314 WEST COOK ST #8 | SANTA MARIA | 93458 | TODD TUGGLE | (805) 925‐0951 | None | 2022-02-14 | https://www.cityofsantamaria.org/city-governme... | SBC | 71542.884890 | 6.075262e+07 | MULTIPOLYGON (((-36710.959 -344913.125, -36707... |
| 8 | 676 | SANTA BARBARA | 42025 | STB | SANTA BARBARA CITY FD | 925 CHAPALA ST | SANTA BARBARA | 93101 | CHRIS MAILES | (805) 965‐5254 | None | 2022-02-14 | https://www.santabarbaraca.gov/gov/depts/fire/... | SBC | 81431.348424 | 5.056587e+07 | MULTIPOLYGON (((15469.272 -397501.519, 15472.5... |
| 9 | 678 | SANTA BARBARA | 42015 | LMP | LOMPOC FD | 115 SOUTH G ST | LOMPOC | 93436 | BRIAN FALLON | (805) 736‐4513 | None | 2022-02-14 | https://www.cityoflompoc.com/government/depart... | SBC | 38950.291184 | 3.025921e+07 | MULTIPOLYGON (((-42597.382 -377627.460, -42626... |
SBC_FD = FDs.loc[FDs["Name"] == "SANTA BARBARA CFD"].reset_index(drop=True)
SBC_FD
| OBJECTID | County | FDID | MACSID | Name | Address | City | Zip | FireChief | Phone | Notes | LastUpdate | Website | CALFIREUni | SHAPE_Leng | SHAPE_Area | geometry | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 318 | SANTA BARBARA | 42035 | SBC | SANTA BARBARA CFD | 4410 CATHEDRAL OAKS RD | SANTA BARBARA | 93110 | MARK A. HARTWIG | (805) 681‐5500 | None | 2018-06-21 | https://www.sbcfire.com/ | SBC | 778360.396807 | 3.666998e+09 | MULTIPOLYGON (((23728.804 -401033.857, 23715.3... |
Task: Run following cell, "del FDs". Note: It will delete FDs variable.¶
We do this because FDs contains a large shapefile, which might burden your RAM.
del FDs
Task: take a subset of stations, within SBC_FD.¶
NOTE: don't forget to RESET_INDEX() whenever you take a subset!
stations = stations.loc[stations.within(SBC_FD.unary_union.buffer(1))].reset_index(drop=True)
len(stations)
28
Question 2: Plot the blocks GeoDataFrame. ( 2 pts )¶
- Firstly, update the blocks GeoDataFrame's geometry column to have block centroids, not block polygons ( 0.5 pt )
- Secondly, take a subset of blocks which is within the SBC_FD area ( 0.5 pt )
- Thirdly, plot blocks GeoDataFrame with "Population" column. ( 1 pt )
- figsize=(10,10)
- opacity must be 0.4
- take a cmap (colormap) that you like from this webpage (https://matplotlib.org/stable/users/explain/colors/colormaps.html).
- markersize must be proportional to the column, "Population"
- ensure you have legend
- Plot with stations GeoDataFrame
Hint: when there's something you don't know about plot function, refer to this document page (https://geopandas.org/en/stable/docs/reference/api/geopandas.GeoDataFrame.plot.html)! Also, you can Google or ask chatGPT :)
blocks.geometry = blocks.centroid
blocks = blocks.loc[blocks.within(SBC_FD.unary_union.buffer(10))].reset_index(drop=True)
A = blocks.plot("Population", figsize=(10,10), alpha=0.4, cmap = "magma", markersize = "Population", legend = True)
stations.plot(ax=A, facecolor = 'none', edgecolor="grey")
<Axes: >
len(blocks)
1965
Step 2. Conduct MCLP¶
Decision Variables: \begin{align*} & x_j = \begin{cases} 1, & \text{if facility $j$ is open}, \\ 0, & \text{otherwise}. \end{cases} \\ & y_i = \begin{cases} 1, & \text{if demand $i$ is covered}, \\ 0, & \text{otherwise}. \end{cases} \end{align*}
Parameters: \begin{align*} & I = \text{number of demands}, \\ & J = \text{number of facilities}, \\ & S = \text{Coverage Distance Standard}, \\ & a_i = \text{Weight assigned to demand $i$}, \\ & D_{ij} = \text{Distance between demand $i$ and facility $j$}, \\ & N_i = \{ j \in J \, | \, D_{ij} \leq S \}, \\ & P = \text{the number of facilities to be opened}. \end{align*}
Objective Function: \begin{align*} \text{Maximize:} \quad & \sum_{i=1}^{I} a_i y_i \end{align*}
Constraints: \begin{align*} \text{Subject to:} \quad & \sum_{j \in N_i} x_j \geq y_i, \quad \forall i \in I \\ & \sum_{j=1}^{J} x_j \leq P, \\ & x_j, y_i \in \{0, 1\}, \quad \forall i, j. \end{align*}
Task: Based on the mathematical Model, set the I and J values correctly.¶
- In this section, we will consider each block as demand $i$
- we will consider each existing fire station as facility $j$
- In the beginning of this lab, we defined our S value to be 8000 meter, 8 km.
- Pick any P that is less than current number of stations :)
blocks = blocks.loc[blocks["Population"] > 0]
blocks = blocks.reset_index(drop=True)
I = len(blocks)
J = len(stations)
P = 15
I
1965
Task: We are going to have block's population as weight assigned to demand. Define $a_i$.¶
a_i = blocks["Population"]
a_i
0 123
1 8
2 19
3 61
4 154
...
1960 256
1961 41
1962 139
1963 519
1964 232
Name: Population, Length: 1965, dtype: int64
Task: Create $D_{ij}$ variable using Euclidean Distance between demand $i$ and facility $j$.¶
D_ij = [[np.sqrt((blocks.geometry.centroid.x[i] - stations.geometry.x[j])**2 + (blocks.geometry.centroid.y[i] - stations.geometry.y[j])**2)
for j in range(J)] for i in range (I)]
Question 3: Create $N_i$ variable in list format. ( 1 pt )¶
- Previously, $N_i$ in dictionary is introduced.
- With your understanding so far, list format of $N_i$ can also be created.
- You can use double for-loops, or list comprehension.
# This is a hint for students who want to do it with list comprehension
# Creating a two-dimensional list
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]]
# Using list comprehension to filter even numbers from the matrix
# The '%' symbol in Python is called the modulo operator.
#It returns the remainder of the division of the left operand by the right operand.
even_numbers = [[matrix[r][c] for c in range(len(matrix[0])) if matrix[r][c]%2 == 0]
for r in range(len(matrix))]
print(even_numbers)
[[2], [4, 6], [8], [10, 12]]
np.array(D_ij).shape, (I, J)
((1965, 28), (1965, 28))
D_ij = np.array(D_ij)
N_i = [[j for j in range (len(D_ij[0])) if D_ij[i, j] <= S]
for i in range (len(D_ij))]
Question 4: Complete the Optimization Model ( 6 pts )¶
import gurobipy as gp
from gurobipy import GRB
# Create a new Gurobi model
mclp = gp.Model("Maximal_Covering_Location")
# Decision Variables
x = mclp.addVars(J, vtype=GRB.BINARY, name="x")# Facility is open or not, J is stations
y = mclp.addVars(I, vtype=GRB.BINARY, name="y") # Demand is covered or not, I is demand
# Objective Function
mclp.setObjective(gp.quicksum(a_i[i] * y[i] for i in range(I)), GRB.MAXIMIZE)
# Constraints
# Each demand must be covered by neighboring facility
mclp.addConstrs(gp.quicksum(x[j] for j in N_i[i]) >= y[i] for i in range(I))
# Number of opened facilities must not exceed P
mclp.addConstr(gp.quicksum(x[j] for j in range(J))<= P)
# Optimize the model
mclp.optimize()
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xdd0585ae
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 167456.00000
Root relaxation: objective 1.676040e+05, 1 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 167604.00000 167604.000 0.00% - 0s
Explored 1 nodes (1 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 167604 167456 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676040000000e+05, best bound 1.676040000000e+05, gap 0.0000%
Question 5: Take a subset of stations based on the model output. ( 1 pt )¶
stations["selected"] = [x[j].x > 0.5 for j in range(len(stations))] #ask for help understanding this
open_stations = stations.loc[stations["selected"]].reset_index(drop=True)
Question 6: Plot the open_stations and their coverage buffers with the demand buffers. ( 2 pts )¶
- Copy and Paste the plotting code from Question 2.
- Replace stations with open_stations.
- Add another plot function which plots the buffer with buffer distance S from each open_station.
- The coverage buffer shouldn't have facecolor
- Buffer Boundary must be dashed lines. (ask chatGPT of google how to do this!)
A = blocks.plot("Population", figsize=(10,10), alpha=0.4, cmap = "magma", markersize = "Population", legend = True)
open_stations.plot(ax=A, facecolor = 'none', edgecolor="grey")
stations_coverage = open_stations.buffer(S)
stations_coverage.plot(ax=A, facecolor="none", linestyle="--")
<Axes: >
Step 3. Functionize / Modularize¶
Here, we will functionize our optimization model.
Sothat with given P value, the model can be solved.
Question 7: Functionize your code out of Question 4 and 5 ( 2 pts )¶
- start defining a function named, "solve_mclp". ( 0.5 pts )
- The function takes one argument, P. ( 0.5 pts )
- Within the function, copy and paste the code you did for Question 4 and 5. ( 0.5 pts )
- Then, add the last line of code, to return open_stations, and mclp.obj_val ( 0.5 pts )
# Let me give you functionize example.
# For more, refer to Lab 0.
sample_list = [1,2,3,4]
def sum_array(a):
s = 0
a = np.array(a)
for num in a:
s += num
return s, a # Return the summation of all elements, and the original array
sum_array(sample_list)
(10, array([1, 2, 3, 4]))
## PUT YOUR FUNCTION HERE!!!##
import gurobipy as gp
from gurobipy import GRB
def solve_mclp(P):
# Create a new Gurobi model
mclp = gp.Model("Maximal_Covering_Location")
# Decision Variables
x = mclp.addVars(J, vtype=GRB.BINARY, name="x")# Facility is open or not, J is stations
y = mclp.addVars(I, vtype=GRB.BINARY, name="y") # Demand is covered or not, I is demand
# Objective Function
mclp.setObjective(gp.quicksum(a_i[i] * y[i] for i in range(I)), GRB.MAXIMIZE)
# Constraints
# Each demand must be covered by neighboring facility
mclp.addConstrs(gp.quicksum(x[j] for j in N_i[i]) >= y[i] for i in range(I))
# Number of opened facilities must not exceed P
mclp.addConstr(gp.quicksum(x[j] for j in range(J))<= P)
# Optimize the model
mclp.optimize()
stations["selected"] = [x[j].x > 0.5 for j in range(len(stations))] #ask for help understanding this
open_stations = stations.loc[stations["selected"]].reset_index(drop=True)
return open_stations, mclp.objVal
Step 4. Evaluate the Result¶
Question 8: To evaluate the optimization result, we always compare with the current operation. Calculate current_coverage. ( 2 pts )¶
Current coverage is the sum of all the demand weights, currently covered by existing stations.
Here are the thought process you can go through.
- Create buffers with distance S out of all the existing stations.
- Take a unary_union of the buffers. ( 0.5 pts )
- Use .within() function to take a subset of blocks, within the unary_union of coverage buffers. ( 0.5 pts )
- Take the Population column out of the subset of blocks. ( 0.5 pts )
- Take the sum of the column values. ( 0.5 pts )
import geopandas as gpd
buffers = stations.buffer(S)
buffer_union = buffers.unary_union
blocks_within_buffers = blocks.loc[blocks.within(buffer_union)].reset_index(drop=True)
current_coverage = blocks_within_buffers["Population"].sum()
current_coverage
167619
S
8000
Task: Check if provided code works with your defined function, solve_mclp¶
selecteds = [] # List to store selected stations for each value of p
obj_vals = [] # List to store objective values for each value of p
# Iterate over values of p starting from 3
for p in range(3, len(stations)+1):
print(f"=================== for P={p}") # Print current value of p
# Call solve_mclp function to solve the problem for current value of p
selected_stations, obj_val = solve_mclp(p)
# Append selected stations to the selecteds list
selecteds.append(selected_stations)
# Append objective value to the obj_vals list
obj_vals.append(obj_val)
=================== for P=3
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xf2ffe812
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [3e+00, 3e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 28463.000000
Root relaxation: objective 1.420590e+05, 25 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 142059.00000 142059.000 0.00% - 0s
Explored 1 nodes (25 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 142059 28463 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.420590000000e+05, best bound 1.420590000000e+05, gap 0.0000%
=================== for P=4
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x39c300de
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [4e+00, 4e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 35944.000000
Root relaxation: objective 1.536120e+05, 19 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 153612.00000 153612.000 0.00% - 0s
Explored 1 nodes (19 simplex iterations) in 0.01 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 153612 35944 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.536120000000e+05, best bound 1.536120000000e+05, gap 0.0000%
=================== for P=5
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x4602b73c
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [5e+00, 5e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 101213.00000
Root relaxation: objective 1.578840e+05, 19 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 157884.00000 157884.000 0.00% - 0s
Explored 1 nodes (19 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 157884 101213 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.578840000000e+05, best bound 1.578840000000e+05, gap 0.0000%
=================== for P=6
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xdddd3da3
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [6e+00, 6e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 103347.00000
Root relaxation: objective 1.615770e+05, 15 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 161577.00000 161577.000 0.00% - 0s
Explored 1 nodes (15 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 161577 103347 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.615770000000e+05, best bound 1.615770000000e+05, gap 0.0000%
=================== for P=7
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x2847ea9b
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [7e+00, 7e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 138516.00000
Root relaxation: objective 1.637110e+05, 13 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 163711.00000 163711.000 0.00% - 0s
Explored 1 nodes (13 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 163711 138516 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.637110000000e+05, best bound 1.637110000000e+05, gap 0.0000%
=================== for P=8
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x50b84fb7
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [8e+00, 8e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 139082.00000
Root relaxation: objective 1.657080e+05, 12 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 165708.00000 165708.000 0.00% - 0s
Explored 1 nodes (12 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 165708 139082 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.657080000000e+05, best bound 1.657080000000e+05, gap 0.0000%
=================== for P=9
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xd7573cda
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [9e+00, 9e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 139452.00000
Root relaxation: objective 1.663460e+05, 11 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 166346.00000 166346.000 0.00% - 0s
Explored 1 nodes (11 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 166346 139452 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.663460000000e+05, best bound 1.663460000000e+05, gap 0.0000%
=================== for P=10
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xe2c37afe
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 139571.00000
Root relaxation: objective 1.669120e+05, 6 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 166912.00000 166912.000 0.00% - 0s
Explored 1 nodes (6 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 166912 139571 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.669120000000e+05, best bound 1.669120000000e+05, gap 0.0000%
=================== for P=11
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xab73500a
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 140209.00000
Root relaxation: objective 1.671520e+05, 6 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 167152.00000 167152.000 0.00% - 0s
Explored 1 nodes (6 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 167152 140209 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.671520000000e+05, best bound 1.671520000000e+05, gap 0.0000%
=================== for P=12
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xc848a0a6
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 140438.00000
Root relaxation: objective 1.673460e+05, 3 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 167346.00000 167346.000 0.00% - 0s
Explored 1 nodes (3 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 167346 140438 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.673460000000e+05, best bound 1.673460000000e+05, gap 0.0000%
=================== for P=13
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xd0ad5553
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 167373.00000
Root relaxation: objective 1.674650e+05, 2 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 167465.00000 167465.000 0.00% - 0s
Explored 1 nodes (2 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 167465 167373 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.674650000000e+05, best bound 1.674650000000e+05, gap 0.0000%
=================== for P=14
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x5f1cf60c
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 167387.00000
Root relaxation: objective 1.675350e+05, 2 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 167535.00000 167535.000 0.00% - 0s
Explored 1 nodes (2 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 167535 167387 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.675350000000e+05, best bound 1.675350000000e+05, gap 0.0000%
=================== for P=15
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xdd0585ae
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 167456.00000
Root relaxation: objective 1.676040e+05, 1 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 167604.00000 167604.000 0.00% - 0s
Explored 1 nodes (1 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 167604 167456 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676040000000e+05, best bound 1.676040000000e+05, gap 0.0000%
=================== for P=16
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xc7d59c7c
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1942 rows and 1950 columns
Presolve time: 0.00s
Presolved: 24 rows, 43 columns, 100 nonzeros
Variable types: 0 continuous, 43 integer (43 binary)
Found heuristic solution: objective 167618.00000
Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 2: 167618 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676180000000e+05, best bound 1.676180000000e+05, gap 0.0000%
=================== for P=17
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xb019de38
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1944 rows and 1952 columns
Presolve time: 0.00s
Presolved: 22 rows, 41 columns, 90 nonzeros
Found heuristic solution: objective 167619.00000
Variable types: 0 continuous, 41 integer (41 binary)
Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
=================== for P=18
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x76319e69
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1951 rows and 1959 columns
Presolve time: 0.00s
Presolved: 15 rows, 34 columns, 62 nonzeros
Found heuristic solution: objective 167619.00000
Variable types: 0 continuous, 34 integer (34 binary)
Explored 0 nodes (0 simplex iterations) in 0.01 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
=================== for P=19
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x1f3badff
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1966 rows and 1993 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 1 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
=================== for P=20
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xb64885f9
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1966 rows and 1993 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 1 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
=================== for P=21
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x5d0bd23e
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1966 rows and 1993 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 1 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
=================== for P=22
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x45649fcb
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1966 rows and 1993 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Explored 0 nodes (0 simplex iterations) in 0.01 seconds (0.00 work units)
Thread count was 1 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
=================== for P=23
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0xbb72ccf7
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1966 rows and 1993 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 1 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
=================== for P=24
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x4a9f7f4b
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1966 rows and 1993 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 1 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
=================== for P=25
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x0d40fdf7
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [3e+01, 3e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1966 rows and 1993 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Explored 0 nodes (0 simplex iterations) in 0.01 seconds (0.00 work units)
Thread count was 1 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
=================== for P=26
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x2618f1f1
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [3e+01, 3e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1966 rows and 1993 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Explored 0 nodes (0 simplex iterations) in 0.01 seconds (0.00 work units)
Thread count was 1 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
=================== for P=27
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x4e139962
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [3e+01, 3e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1966 rows and 1993 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 1 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
=================== for P=28
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 1966 rows, 1993 columns and 8810 nonzeros
Model fingerprint: 0x734d32c0
Variable types: 0 continuous, 1993 integer (1993 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 3e+03]
Bounds range [1e+00, 1e+00]
RHS range [3e+01, 3e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 1966 rows and 1993 columns
Presolve time: 0.00s
Presolve: All rows and columns removed
Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 1 (of 20 available processors)
Solution count 2: 167619 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.676190000000e+05, best bound 1.676190000000e+05, gap 0.0000%
Task: Check if the output Table is plausible. And learn how to create a pandas DataFrame¶
- To create a DataFrame, you can call pandas.DataFrame() and deliver a dictionary.
- The dictionary will have key and value pairs.
- key will be the column name
- value will be an array of column values
results = pd.DataFrame({
'P': range(3, len(stations)+1),
'Coverage': obj_vals
})
results
| P | Coverage | |
|---|---|---|
| 0 | 3 | 142059.0 |
| 1 | 4 | 153612.0 |
| 2 | 5 | 157884.0 |
| 3 | 6 | 161577.0 |
| 4 | 7 | 163711.0 |
| 5 | 8 | 165708.0 |
| 6 | 9 | 166346.0 |
| 7 | 10 | 166912.0 |
| 8 | 11 | 167152.0 |
| 9 | 12 | 167346.0 |
| 10 | 13 | 167465.0 |
| 11 | 14 | 167535.0 |
| 12 | 15 | 167604.0 |
| 13 | 16 | 167618.0 |
| 14 | 17 | 167619.0 |
| 15 | 18 | 167619.0 |
| 16 | 19 | 167619.0 |
| 17 | 20 | 167619.0 |
| 18 | 21 | 167619.0 |
| 19 | 22 | 167619.0 |
| 20 | 23 | 167619.0 |
| 21 | 24 | 167619.0 |
| 22 | 25 | 167619.0 |
| 23 | 26 | 167619.0 |
| 24 | 27 | 167619.0 |
| 25 | 28 | 167619.0 |
def scatterplot_result(results):
# Plot the DataFrame, in scatter plot, taking P values as x and Coverage values as y
results.plot(kind="scatter", x="P", y="Coverage")
# Add grid lines
plt.grid(True)
# Add the current coverage point in color red
plt.scatter(len(stations), current_coverage, color="red")
# provide a dashed red line to inform current coverage
plt.axhline(y=current_coverage, color='r', linestyle='--', label='Current Coverage')
# show the plot!
plt.show()
scatterplot_result(results)
Task: Put your code to plot open_stations and coverage buffer from Question 6.¶
Feel free to edit any other plotting details
def map_result(p, demand_block=True):
open_stations = selecteds[p-3]
A = open_stations.plot(color="grey", zorder=5)
stations_coverage = open_stations.buffer(S)
stations_coverage.plot(ax=A, facecolor="none", linestyle="--", zorder=5)
if demand_block:
blocks.plot("Population", ax=A, legend=True, markersize=5)
else:
fishnet_points.plot(ax=A, markersize = 5)
plt.title(f"{p} stations open")
plt.show()
map_result(10) # Try different p!
Task: Following function is to go through the whole process. Check if you get the same output as before :)¶
def optimize_and_evaluate(demand_block=True):
selecteds = []
obj_vals = []
for p in range(3, len(stations)+1):
print(f"=================== for P={p}")
selected_stations, obj_val = solve_mclp(p)
selecteds.append(selected_stations)
obj_vals.append(obj_val)
map_result(p, demand_block)
results = pd.DataFrame({
'P': range(3, len(stations)+1),
'Coverage': obj_vals
})
scatterplot_result(results)
optimize_and_evaluate()
=================== for P=3
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x3f7c710c
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [3e+00, 3e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 506.0000000
Root relaxation: objective 5.400000e+02, 45 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 540.0000000 540.00000 0.00% - 0s
Explored 1 nodes (45 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 540 506 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 5.400000000000e+02, best bound 5.400000000000e+02, gap 0.0000%
=================== for P=4
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xa01cdfc9
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [4e+00, 4e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 582.0000000
Root relaxation: objective 7.040000e+02, 46 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 704.0000000 704.00000 0.00% - 0s
Explored 1 nodes (46 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 704 582 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 7.040000000000e+02, best bound 7.040000000000e+02, gap 0.0000%
=================== for P=5
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xb95f9119
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [5e+00, 5e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 675.0000000
Root relaxation: objective 8.550000e+02, 43 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 855.0000000 855.00000 0.00% - 0s
Explored 1 nodes (43 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 855 675 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 8.550000000000e+02, best bound 8.550000000000e+02, gap 0.0000%
=================== for P=6
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xdc018ef8
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [6e+00, 6e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 746.0000000
Root relaxation: objective 1.005000e+03, 39 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1005.0000000 1005.00000 0.00% - 0s
Explored 1 nodes (39 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1005 746 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.005000000000e+03, best bound 1.005000000000e+03, gap 0.0000%
=================== for P=7
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xd4eb132b
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [7e+00, 7e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 929.0000000
Root relaxation: objective 1.146000e+03, 38 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1146.0000000 1146.00000 0.00% - 0s
Explored 1 nodes (38 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1146 929 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.146000000000e+03, best bound 1.146000000000e+03, gap 0.0000%
=================== for P=8
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x05e3c257
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [8e+00, 8e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1086.0000000
Root relaxation: objective 1.270000e+03, 30 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1270.0000000 1270.00000 0.00% - 0s
Explored 1 nodes (30 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1270 1086 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.270000000000e+03, best bound 1.270000000000e+03, gap 0.0000%
=================== for P=9
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xf7ea4d1e
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [9e+00, 9e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1177.0000000
Root relaxation: objective 1.384000e+03, 30 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1384.0000000 1384.00000 0.00% - 0s
Explored 1 nodes (30 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1384 1177 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.384000000000e+03, best bound 1.384000000000e+03, gap 0.0000%
=================== for P=10
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x7467d208
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1291.0000000
Root relaxation: objective 1.475000e+03, 27 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1475.0000000 1475.00000 0.00% - 0s
Explored 1 nodes (27 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1475 1291 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.475000000000e+03, best bound 1.475000000000e+03, gap 0.0000%
=================== for P=11
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x10c3d27f
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1433.0000000
Root relaxation: objective 1.564000e+03, 27 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1564.0000000 1564.00000 0.00% - 0s
Explored 1 nodes (27 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1564 1433 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.564000000000e+03, best bound 1.564000000000e+03, gap 0.0000%
=================== for P=12
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x649633df
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1493.0000000
Root relaxation: objective 1.647000e+03, 27 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1647.0000000 1647.00000 0.00% - 0s
Explored 1 nodes (27 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1647 1493 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.647000000000e+03, best bound 1.647000000000e+03, gap 0.0000%
=================== for P=13
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x9b95d984
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1591.0000000
Root relaxation: objective 1.715000e+03, 18 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1715.0000000 1715.00000 0.00% - 0s
Explored 1 nodes (18 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1715 1591 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.715000000000e+03, best bound 1.715000000000e+03, gap 0.0000%
=================== for P=14
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xdadf5112
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1611.0000000
Root relaxation: objective 1.743000e+03, 17 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1743.0000000 1743.00000 0.00% - 0s
Explored 1 nodes (17 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1743 1611 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.743000000000e+03, best bound 1.743000000000e+03, gap 0.0000%
=================== for P=15
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xe090a64f
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1646.0000000
Root relaxation: objective 1.763000e+03, 14 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1763.0000000 1763.00000 0.00% - 0s
Explored 1 nodes (14 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1763 1646 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.763000000000e+03, best bound 1.763000000000e+03, gap 0.0000%
=================== for P=16
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xc848a4a7
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1714.0000000
Root relaxation: objective 1.780000e+03, 8 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1780.0000000 1780.00000 0.00% - 0s
Explored 1 nodes (8 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1780 1714 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.780000000000e+03, best bound 1.780000000000e+03, gap 0.0000%
=================== for P=17
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x743280a7
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1789.0000000
Root relaxation: cutoff, 3 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 cutoff 0 1789.00000 1789.00000 0.00% - 0s
Explored 1 nodes (3 simplex iterations) in 0.04 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 2: 1789 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.789000000000e+03, best bound 1.789000000000e+03, gap 0.0000%
=================== for P=18
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xbb43ee56
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1793.0000000
Root relaxation: infeasible, 1 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 infeasible 0 1793.00000 1793.00000 0.00% - 0s
Explored 1 nodes (1 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 2: 1793 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.793000000000e+03, best bound 1.793000000000e+03, gap 0.0000%
=================== for P=19 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xa9cc7751 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3260 rows and 3263 columns Presolve time: 0.00s Presolved: 45 rows, 69 columns, 199 nonzeros Variable types: 0 continuous, 69 integer (69 binary) Found heuristic solution: objective 1797.0000000 Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=20 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0x3c5cc094 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3261 rows and 3264 columns Presolve time: 0.00s Presolved: 44 rows, 68 columns, 192 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 68 integer (68 binary) Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=21 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xa72ab122 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3264 rows and 3267 columns Presolve time: 0.00s Presolved: 41 rows, 65 columns, 174 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 65 integer (65 binary) Explored 0 nodes (0 simplex iterations) in 0.03 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=22 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xf698ea55 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3272 rows and 3275 columns Presolve time: 0.00s Presolved: 33 rows, 57 columns, 134 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 57 integer (57 binary) Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=23 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xf679243a Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3285 rows and 3288 columns Presolve time: 0.00s Presolved: 20 rows, 44 columns, 82 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 44 integer (44 binary) Explored 0 nodes (0 simplex iterations) in 0.03 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=24 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0x63944ca0 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=25 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0x32ab1ba6 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=26 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xaedb8953 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=27 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xa6b75529 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=28 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xe7946d32 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
Step 4. Replicate your Analysis with different Demand Representations¶
Task: Review from Lab 2. We are creating fishnet points within the SBC_FD¶
boundary = SBC_FD.envelope # .envelope gives you the bounding rectangle of given GeoDataFrame.
boundary.bounds
| minx | miny | maxx | maxy | |
|---|---|---|---|---|
| 0 | -61331.613 | -401270.1778 | 50847.5684 | -323367.7559 |
minx, miny, maxx, maxy = boundary.loc[0].bounds
print(minx, miny, maxx, maxy)
-61331.61300000176 -401270.1777999997 50847.56839999929 -323367.7559000002
from shapely.geometry import Point
# Here, we are going to create fishnet points.
# Fishnet points are points spaced with an equal interval.
# You'll see when you see the output!
# Define the interval between points
#### Note: Adjust interval value as needed for lab question 2
def create_fishnet(interval):
# Create arrays of x and y coordinates using np.arange
x_coords = np.arange(minx, maxx, interval)
y_coords = np.arange(miny, maxy, interval)
# Create a list to store the points
fishnet_points = []
# Generate points for the fishnet
for y in y_coords:
for x in x_coords:
fishnet_points.append((x, y))
# Print the number of points generated
print("Number of points in the fishnet:", len(fishnet_points))
fishnet_points = gpd.GeoSeries([Point(pt_cd) for pt_cd in fishnet_points])
fishnet_points = fishnet_points[fishnet_points.within(SBC_FD.geometry[0])].reset_index()
fishnet_points.plot(figsize=(15,5))
return fishnet_points
interval = 5280/5 # default: 5280/5 feet (1 mile / 5 = 0.2 mile)
fishnet_points = create_fishnet(interval)
Number of points in the fishnet: 7918
# Current Coverage
current_coverage = fishnet_points.within(stations.buffer(S).unary_union).sum()
Question 9: Re-compute the model variables here for fishnet_points, instead of blocks. ( 1 pt )¶
Note: all the fishnet points will have the same weight, 1.
I = len(fishnet_points)
J = len(stations)
a_i = [1]*len(fishnet_points)
D_ij = np.array([[fishnet_points.geometry[i].distance(stations.geometry[j]) for j in range (J)] for i in range(I)])
N_i =[[j for j in range(len(D_ij[0])) if D_ij[i][j] <= S]
for i in range (len(D_ij))]
optimize_and_evaluate(demand_block=False)
=================== for P=3
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x3f7c710c
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [3e+00, 3e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 506.0000000
Root relaxation: objective 5.400000e+02, 45 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 540.0000000 540.00000 0.00% - 0s
Explored 1 nodes (45 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 540 506 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 5.400000000000e+02, best bound 5.400000000000e+02, gap 0.0000%
=================== for P=4
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xa01cdfc9
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [4e+00, 4e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 582.0000000
Root relaxation: objective 7.040000e+02, 46 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 704.0000000 704.00000 0.00% - 0s
Explored 1 nodes (46 simplex iterations) in 0.01 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 704 582 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 7.040000000000e+02, best bound 7.040000000000e+02, gap 0.0000%
=================== for P=5
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xb95f9119
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [5e+00, 5e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 675.0000000
Root relaxation: objective 8.550000e+02, 43 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 855.0000000 855.00000 0.00% - 0s
Explored 1 nodes (43 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 855 675 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 8.550000000000e+02, best bound 8.550000000000e+02, gap 0.0000%
=================== for P=6
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xdc018ef8
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [6e+00, 6e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 746.0000000
Root relaxation: objective 1.005000e+03, 39 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1005.0000000 1005.00000 0.00% - 0s
Explored 1 nodes (39 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1005 746 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.005000000000e+03, best bound 1.005000000000e+03, gap 0.0000%
=================== for P=7
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xd4eb132b
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [7e+00, 7e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 929.0000000
Root relaxation: objective 1.146000e+03, 38 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1146.0000000 1146.00000 0.00% - 0s
Explored 1 nodes (38 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1146 929 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.146000000000e+03, best bound 1.146000000000e+03, gap 0.0000%
=================== for P=8
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x05e3c257
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [8e+00, 8e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1086.0000000
Root relaxation: objective 1.270000e+03, 30 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1270.0000000 1270.00000 0.00% - 0s
Explored 1 nodes (30 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1270 1086 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.270000000000e+03, best bound 1.270000000000e+03, gap 0.0000%
=================== for P=9
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xf7ea4d1e
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [9e+00, 9e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1177.0000000
Root relaxation: objective 1.384000e+03, 30 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1384.0000000 1384.00000 0.00% - 0s
Explored 1 nodes (30 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1384 1177 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.384000000000e+03, best bound 1.384000000000e+03, gap 0.0000%
=================== for P=10
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x7467d208
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1291.0000000
Root relaxation: objective 1.475000e+03, 27 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1475.0000000 1475.00000 0.00% - 0s
Explored 1 nodes (27 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1475 1291 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.475000000000e+03, best bound 1.475000000000e+03, gap 0.0000%
=================== for P=11
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x10c3d27f
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1433.0000000
Root relaxation: objective 1.564000e+03, 27 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1564.0000000 1564.00000 0.00% - 0s
Explored 1 nodes (27 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1564 1433 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.564000000000e+03, best bound 1.564000000000e+03, gap 0.0000%
=================== for P=12
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x649633df
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1493.0000000
Root relaxation: objective 1.647000e+03, 27 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1647.0000000 1647.00000 0.00% - 0s
Explored 1 nodes (27 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1647 1493 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.647000000000e+03, best bound 1.647000000000e+03, gap 0.0000%
=================== for P=13
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x9b95d984
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1591.0000000
Root relaxation: objective 1.715000e+03, 18 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1715.0000000 1715.00000 0.00% - 0s
Explored 1 nodes (18 simplex iterations) in 0.01 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1715 1591 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.715000000000e+03, best bound 1.715000000000e+03, gap 0.0000%
=================== for P=14
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xdadf5112
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1611.0000000
Root relaxation: objective 1.743000e+03, 17 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1743.0000000 1743.00000 0.00% - 0s
Explored 1 nodes (17 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1743 1611 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.743000000000e+03, best bound 1.743000000000e+03, gap 0.0000%
=================== for P=15
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xe090a64f
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1646.0000000
Root relaxation: objective 1.763000e+03, 14 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1763.0000000 1763.00000 0.00% - 0s
Explored 1 nodes (14 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1763 1646 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.763000000000e+03, best bound 1.763000000000e+03, gap 0.0000%
=================== for P=16
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xc848a4a7
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1714.0000000
Root relaxation: objective 1.780000e+03, 8 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1780.0000000 1780.00000 0.00% - 0s
Explored 1 nodes (8 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1780 1714 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.780000000000e+03, best bound 1.780000000000e+03, gap 0.0000%
=================== for P=17
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x743280a7
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1789.0000000
Root relaxation: cutoff, 3 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 cutoff 0 1789.00000 1789.00000 0.00% - 0s
Explored 1 nodes (3 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 2: 1789 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.789000000000e+03, best bound 1.789000000000e+03, gap 0.0000%
=================== for P=18
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xbb43ee56
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1793.0000000
Root relaxation: infeasible, 1 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 infeasible 0 1793.00000 1793.00000 0.00% - 0s
Explored 1 nodes (1 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 2: 1793 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.793000000000e+03, best bound 1.793000000000e+03, gap 0.0000%
=================== for P=19 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xa9cc7751 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3260 rows and 3263 columns Presolve time: 0.00s Presolved: 45 rows, 69 columns, 199 nonzeros Variable types: 0 continuous, 69 integer (69 binary) Found heuristic solution: objective 1797.0000000 Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=20 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0x3c5cc094 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3261 rows and 3264 columns Presolve time: 0.00s Presolved: 44 rows, 68 columns, 192 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 68 integer (68 binary) Explored 0 nodes (0 simplex iterations) in 0.03 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=21 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xa72ab122 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3264 rows and 3267 columns Presolve time: 0.00s Presolved: 41 rows, 65 columns, 174 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 65 integer (65 binary) Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=22 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xf698ea55 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3272 rows and 3275 columns Presolve time: 0.00s Presolved: 33 rows, 57 columns, 134 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 57 integer (57 binary) Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=23 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xf679243a Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3285 rows and 3288 columns Presolve time: 0.00s Presolved: 20 rows, 44 columns, 82 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 44 integer (44 binary) Explored 0 nodes (0 simplex iterations) in 0.03 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=24 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0x63944ca0 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=25 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0x32ab1ba6 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.01 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=26 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xaedb8953 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=27 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xa6b75529 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.01 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=28 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xe7946d32 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.01 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
Task: Repeat the whole process with another fishnet_points with different fishnet interval.¶
I = len(fishnet_points)
J = len(stations)
a_i = [1]*len(fishnet_points)
D_ij = np.array([[fishnet_points.geometry[i].distance(stations.geometry[j]) for j in range (J)] for i in range(I)])
N_i =[[j for j in range(len(D_ij[0])) if D_ij[i][j] <= S]
for i in range (len(D_ij))]
optimize_and_evaluate(demand_block=False)
=================== for P=3
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x3f7c710c
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [3e+00, 3e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.01s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 506.0000000
Root relaxation: objective 5.400000e+02, 45 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 540.0000000 540.00000 0.00% - 0s
Explored 1 nodes (45 simplex iterations) in 0.05 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 540 506 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 5.400000000000e+02, best bound 5.400000000000e+02, gap 0.0000%
=================== for P=4
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xa01cdfc9
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [4e+00, 4e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 582.0000000
Root relaxation: objective 7.040000e+02, 46 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 704.0000000 704.00000 0.00% - 0s
Explored 1 nodes (46 simplex iterations) in 0.04 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 704 582 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 7.040000000000e+02, best bound 7.040000000000e+02, gap 0.0000%
=================== for P=5
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xb95f9119
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [5e+00, 5e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 675.0000000
Root relaxation: objective 8.550000e+02, 43 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 855.0000000 855.00000 0.00% - 0s
Explored 1 nodes (43 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 855 675 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 8.550000000000e+02, best bound 8.550000000000e+02, gap 0.0000%
=================== for P=6
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xdc018ef8
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [6e+00, 6e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.01s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 746.0000000
Root relaxation: objective 1.005000e+03, 39 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1005.0000000 1005.00000 0.00% - 0s
Explored 1 nodes (39 simplex iterations) in 0.04 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1005 746 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.005000000000e+03, best bound 1.005000000000e+03, gap 0.0000%
=================== for P=7
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xd4eb132b
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [7e+00, 7e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.01s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 929.0000000
Root relaxation: objective 1.146000e+03, 38 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1146.0000000 1146.00000 0.00% - 0s
Explored 1 nodes (38 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1146 929 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.146000000000e+03, best bound 1.146000000000e+03, gap 0.0000%
=================== for P=8
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x05e3c257
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [8e+00, 8e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1086.0000000
Root relaxation: objective 1.270000e+03, 30 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1270.0000000 1270.00000 0.00% - 0s
Explored 1 nodes (30 simplex iterations) in 0.02 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1270 1086 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.270000000000e+03, best bound 1.270000000000e+03, gap 0.0000%
=================== for P=9
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xf7ea4d1e
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [9e+00, 9e+00]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1177.0000000
Root relaxation: objective 1.384000e+03, 30 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1384.0000000 1384.00000 0.00% - 0s
Explored 1 nodes (30 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1384 1177 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.384000000000e+03, best bound 1.384000000000e+03, gap 0.0000%
=================== for P=10
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x7467d208
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1291.0000000
Root relaxation: objective 1.475000e+03, 27 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1475.0000000 1475.00000 0.00% - 0s
Explored 1 nodes (27 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1475 1291 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.475000000000e+03, best bound 1.475000000000e+03, gap 0.0000%
=================== for P=11
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x10c3d27f
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1433.0000000
Root relaxation: objective 1.564000e+03, 27 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1564.0000000 1564.00000 0.00% - 0s
Explored 1 nodes (27 simplex iterations) in 0.08 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1564 1433 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.564000000000e+03, best bound 1.564000000000e+03, gap 0.0000%
=================== for P=12
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x649633df
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1493.0000000
Root relaxation: objective 1.647000e+03, 27 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1647.0000000 1647.00000 0.00% - 0s
Explored 1 nodes (27 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1647 1493 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.647000000000e+03, best bound 1.647000000000e+03, gap 0.0000%
=================== for P=13
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x9b95d984
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1591.0000000
Root relaxation: objective 1.715000e+03, 18 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1715.0000000 1715.00000 0.00% - 0s
Explored 1 nodes (18 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1715 1591 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.715000000000e+03, best bound 1.715000000000e+03, gap 0.0000%
=================== for P=14
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xdadf5112
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [1e+01, 1e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1611.0000000
Root relaxation: objective 1.743000e+03, 17 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1743.0000000 1743.00000 0.00% - 0s
Explored 1 nodes (17 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1743 1611 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.743000000000e+03, best bound 1.743000000000e+03, gap 0.0000%
=================== for P=15
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xe090a64f
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1646.0000000
Root relaxation: objective 1.763000e+03, 14 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1763.0000000 1763.00000 0.00% - 0s
Explored 1 nodes (14 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1763 1646 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.763000000000e+03, best bound 1.763000000000e+03, gap 0.0000%
=================== for P=16
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xc848a4a7
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1714.0000000
Root relaxation: objective 1.780000e+03, 8 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
* 0 0 0 1780.0000000 1780.00000 0.00% - 0s
Explored 1 nodes (8 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 3: 1780 1714 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.780000000000e+03, best bound 1.780000000000e+03, gap 0.0000%
=================== for P=17
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0x743280a7
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1789.0000000
Root relaxation: cutoff, 3 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 cutoff 0 1789.00000 1789.00000 0.00% - 0s
Explored 1 nodes (3 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 2: 1789 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.789000000000e+03, best bound 1.789000000000e+03, gap 0.0000%
=================== for P=18
Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2))
CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2]
Thread count: 14 physical cores, 20 logical processors, using up to 20 threads
Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros
Model fingerprint: 0xbb43ee56
Variable types: 0 continuous, 3332 integer (3332 binary)
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e+00, 1e+00]
Bounds range [1e+00, 1e+00]
RHS range [2e+01, 2e+01]
Found heuristic solution: objective -0.0000000
Presolve removed 3260 rows and 3263 columns
Presolve time: 0.00s
Presolved: 45 rows, 69 columns, 199 nonzeros
Variable types: 0 continuous, 69 integer (69 binary)
Found heuristic solution: objective 1793.0000000
Root relaxation: infeasible, 1 iterations, 0.00 seconds (0.00 work units)
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 infeasible 0 1793.00000 1793.00000 0.00% - 0s
Explored 1 nodes (1 simplex iterations) in 0.03 seconds (0.00 work units)
Thread count was 20 (of 20 available processors)
Solution count 2: 1793 -0
Optimal solution found (tolerance 1.00e-04)
Best objective 1.793000000000e+03, best bound 1.793000000000e+03, gap 0.0000%
=================== for P=19 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xa9cc7751 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3260 rows and 3263 columns Presolve time: 0.00s Presolved: 45 rows, 69 columns, 199 nonzeros Variable types: 0 continuous, 69 integer (69 binary) Found heuristic solution: objective 1797.0000000 Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=20 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0x3c5cc094 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3261 rows and 3264 columns Presolve time: 0.00s Presolved: 44 rows, 68 columns, 192 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 68 integer (68 binary) Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=21 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xa72ab122 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3264 rows and 3267 columns Presolve time: 0.00s Presolved: 41 rows, 65 columns, 174 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 65 integer (65 binary) Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=22 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xf698ea55 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3272 rows and 3275 columns Presolve time: 0.00s Presolved: 33 rows, 57 columns, 134 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 57 integer (57 binary) Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=23 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xf679243a Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3285 rows and 3288 columns Presolve time: 0.00s Presolved: 20 rows, 44 columns, 82 nonzeros Found heuristic solution: objective 1797.0000000 Variable types: 0 continuous, 44 integer (44 binary) Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 20 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=24 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0x63944ca0 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [2e+01, 2e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=25 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0x32ab1ba6 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.01 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=26 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xaedb8953 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=27 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xa6b75529 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.02 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
=================== for P=28 Gurobi Optimizer version 11.0.1 build v11.0.1rc0 (win64 - Windows 11.0 (22631.2)) CPU model: 13th Gen Intel(R) Core(TM) i9-13900H, instruction set [SSE2|AVX|AVX2] Thread count: 14 physical cores, 20 logical processors, using up to 20 threads Optimize a model with 3305 rows, 3332 columns and 6943 nonzeros Model fingerprint: 0xe7946d32 Variable types: 0 continuous, 3332 integer (3332 binary) Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [1e+00, 1e+00] Bounds range [1e+00, 1e+00] RHS range [3e+01, 3e+01] Found heuristic solution: objective -0.0000000 Presolve removed 3305 rows and 3332 columns Presolve time: 0.00s Presolve: All rows and columns removed Explored 0 nodes (0 simplex iterations) in 0.01 seconds (0.00 work units) Thread count was 1 (of 20 available processors) Solution count 2: 1797 -0 Optimal solution found (tolerance 1.00e-04) Best objective 1.797000000000e+03, best bound 1.797000000000e+03, gap 0.0000%
Question 10: Compare the Scatter plots out of Blocks, 0.2 mile fishnet points, and another fishnet points with interval of your choice. Discuss the insights you can get. ( 5 pts )¶
In Lab 2, we discovered that different Coverage Distance Standard can impact the coverage analysis result.
In Lab 4, we can discover how different demand representation makes difference.
Share your insights about
- provide three scatter plots ( 3 pts )
- how SBC_FD is currently doing with existing stations in terms of coverage ( 1 pt )
- how demand representation impacts the coverage analysis ( 1 pt )
TIP: you can copy and paste your screenshot into markdown cells
PUT your answer HERE
Current coverage seems to be met in the first graph once P = 15. In the lab, two more fishnet intervals were used to compare. The second image depicts a fishnet interval of 0.2. In this, we see that the coverage is not being met, as opposed to the origional graph. The third image shows a fishnet interval of 2. This graph far exceeds the current coverage, however, in practicality this may not be useful. While the graph my seem pleasing, what it implies is that each station has such a large buffer, that little stations are needed to cover a wide are. This could cause harm if the fire department is unable to reach their destination, regaurdless of its inclusion in the fishnet interval. This is how maps can be used to lie, by exaggerating factors like demand representation you can provide an alternative hypothesis with the same data.
...